package practica3b;

import practica3b.Arbol.tipoLlenado;
import practica3b.AGmux.*;

public class Ejecucion {

	private int tamPob;
	private int maxIter;
	private funSeleccion funSel;
	private funMutacion funMut;
	private int K;
	private boolean elitismo;
	private double probMut;
	private double probCruce;
	private int idxEjec;
	private Cromosoma mejorCrom;
	private int profMax;
	private tipoLlenado tipo_llenado;
	
	public Ejecucion(int tp, int mi, funSeleccion fs, int K, funMutacion fm, 
			boolean el, double pm, double pc,int idx, Cromosoma res, int altura_max, tipoLlenado tipo){
		tamPob = tp;
		maxIter = mi;
		funSel = fs;
		funMut = fm;
		this.K = K;
		elitismo = el;
		probMut = pm;
		probCruce = pc;
		idxEjec = idx;
		mejorCrom = new Cromosoma(res);
		profMax = altura_max;
		tipo_llenado = tipo;
	}

	public int getTamPob() {
		return tamPob;
	}

	public int getMaxIter() {
		return maxIter;
	}

	public funSeleccion getFunSel() {
		return funSel;
	}

	public funMutacion getFunMut() {
		return funMut;
	}

	public int getK() {
		return K;
	}

	public boolean isElitismo() {
		return elitismo;
	}

	public double getProbMut() {
		return probMut;
	}

	public double getProbCruce() {
		return probCruce;
	}

	public int getIdxEjec() {
		return idxEjec;
	}

	public Cromosoma getMejorCrom() {
		return mejorCrom;
	}
	
	public tipoLlenado getTipoLlenado(){
		return tipo_llenado;
	}
	
	public int getAlturaMax(){
		return profMax;
	}

}
